package sz.szsmk.citizencard.mvp.contract;

import sz.szsmk.citizencard.model.network.bean.response.CheckThirdAppRes;
import sz.szsmk.citizencard.model.network.bean.response.ImgCodeRes;
import sz.szsmk.citizencard.model.network.bean.response.RegisterResponse;
import sz.szsmk.citizencard.model.network.bean.response.ThirdAppLoginRes;
import sz.szsmk.citizencard.model.network.bean.response.UserBean;
import sz.szsmk.citizencard.ui.base.IBaseContact;

/**
 * Copyright (c)2018
 * author: zdh
 * created on: 2018/6/1 18:46
 * description:
 */
public interface ICheckCodeContact {

    interface ICheckCodePresenter<T extends IBaseContact.IBaseView>
            extends IBaseContact, IBaseContact.IBasePresenter {

        void checkCode(String userPhone, String codeNum, String codeType);
        //获取图形验证码
        void getImgCode(String phone);
        //再次获取验证码
        void getCode(String imgCode,String id, String androidId, String usePhone);

        void checkMyCode(String userPhone, String codeNum, String codeType);

        void checkThirdAppMobile(String userPhone, String login_type);

        void loginThird(String userPhone);

        void addUserAppAgreementRecord(String clientVersion, String operateSystem, String sceneNo,String token);
    }

    interface ICheckCodeView extends IBaseContact.IBaseView {

        void registSuccess(UserBean response);

        void regeistFile(RegisterResponse message);

        void checkUserFail(String message);

        void checkUserSucc(String userPhone);

        void getCodeSucc();

        void getCodeFail();

        void checkMycodeSucc(String message,String sms_code,String sms_type);

        void checkMycodeFail(String msg);

        void checkThirdAppMobileSucc(CheckThirdAppRes response);

        void checkThirdAppMobileFail(CheckThirdAppRes response);

        void loginThirdSucc();

        void loginThirdFail(ThirdAppLoginRes response);

        void addUserAppAgreementRecordSucc(sz.szsmk.citizencard.model.network.bean.response.BaseBean baseBean);

        void addUserAppAgreementRecordFail();

        void getSmsCodeSucc();

        void getSmsCodeFail(String msg);

        void getImgCodeSucc(ImgCodeRes imgCodeRes);

        void getImgCodeFail();
    }

}
